Generally, every independent computing system has a dedicated clocking scheme. For a blade or clustering system with plural mother boards, every mother board is implemented as an independent computing system and each has its own system clock. Commonly an independent computing system may be considered as a bootable domain since it includes certain dedicated hardware/software/firmware for initializing or booting up the system. If a bootable domain includes multiple processors that performance symmetric multi-processing (SMP), the bootable domain is an independent SMP domain as well.
FIG. 1 shows a typical implementation of a small scale system that has two independent SMP domains A, B operating as two independent computing systems. The two domains A, B are identical without interconnections between two groups of processors, CPU A0, A1, A2, A3 and CPU B0, B1, B2, B3. Basically the clock sources A6, B6 are clock generators, each outputting a base clock for PLL (phase-locked loop) A5/B5. The PLLs A5, B5 will generate N times faster clock based on the base clock. And each of the clock buffers A4, B4 is a buffer to make some duplicated copies for the two groups of processors, namely CPU A0, A1, A2, A3 and CPU B0, B1, B2, B3.
Since in such system the two SMP domains A, B are completely independent without synchronized clock across both the domains A, B, the system configuration is fixed by the design. To facilitate flexible SMP (symmetric multi-processing), the system will require specific means to synchronize the system clock or share clock distribution. In other words, the domains will not only need to be bootable with their own clocks respectively, but also bootable as a whole with a synchronized clock, which is still not provided in the prior art.